package com.xiangge.oop;
/*
     静态代码块：
        分类：  局部代码块  , 构造代码块  , 静态代码块

        静态代码块：
            执行的时机： 当类第一次加载时执行，只执行一次

        构造代码块：
            执行的时机： 在创建对象之后,调用构造方法之前执行构造代码块 , 创建一次对象就执行一次


        执行顺序： 静态代码块（1次） -> 构造代码块 -> 构造方法 -> 成员方法
 */
public class OopDemo3 {

    // 静态代码块1
    static{

    }

    // 构造代码块
    {

    }
    public static void main(String[] args) {
        new  Student();
        new  Student(100);
    }
}

class Student{
    int num;
    // 静态代码块
    static{
        System.out.println("静态代码块"); // 1
    }
    // 构造代码块
    {
        System.out.println("构造代码块");
    }
    // 无参构造方法
    public Student(){
        System.out.println("无参构造方法"); // 2
    }
    // 有参构造方法
    public Student(int num){
        this.num = num;
        System.out.println("有参构造方法"); // 3
    }


}
